/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fisica;

import hibernate.Sesion;
import hibernate.objeto.ExamenComplementario;
import hibernate.objeto.TratamientoYPractica;
import java.util.Vector;
import org.hibernate.Query;
import presentacion.utilidad.Paginador;

/**
 *
 * @author Gonzalo
 */
public class TratamientoYPracticaFisica extends CapaFisica {

    /**
     * Retorna el objeto TratamientoYPractica según el id.
     *
     * @param idTratamientoYPractica El id del tratamiento
     * @return El objeto TratamientoYPractica consultado, null si no existe
     */
    public static TratamientoYPractica getTratamientoYPracticaPorId(
            int idTratamientoYPractica) {
        Query q = Sesion.sesion.createQuery(
                "from TratamientoYPractica "
                + "where idTratamientoYPractica = "
                + idTratamientoYPractica
                );

        return (TratamientoYPractica) getObjeto(q);
    }

    /**
     * Retorna el vector de objetos TratamientoYPractica correspondientes a un
     * diagnóstico y triage.
     *
     * @param idDiagnosticoYTriageInternacion El id del diagnostico y triage consultado
     * @return El vecotr de objetos TratamientoYPractica consultado, null si
     * no existe
     */
    public static Vector<TratamientoYPractica>
            getVectorTratamientoYPracticaPorIdDiagnosticoYTriageInternacion(
            int idDiagnosticoYTriageInternacion) {
        Query q = Sesion.sesion.createQuery(
                "select t " +
                "from TratamientoYPractica as t " +
                "where t.diagnosticoYTriageInternacion.idDiagnosticoYTriageInternacion = " +
                idDiagnosticoYTriageInternacion + " order by t.fechaTratamientoYPractica desc, "
                + "t.horaTratamientoYPractica desc"
                );

        Paginador.paginar(q);

        return getVectorObjetos(q);
    }

    /**
     * Retorna el vector de objetos TratamientoYPractica correspondientes a un
     * paciente.
     *
     * @param idPaciente El id del paciente
     * @return El vecotr de objetos TratamientoYPractica consultado, null si
     * no existe
     */
    public static Vector<TratamientoYPractica>
            getVectorTratamientoYPracticaPorIdPaciente(
            int idPaciente) {
        Query q = Sesion.sesion.createQuery(
                "select t " +
                "from TratamientoYPractica as t " +
                "where t.diagnosticoYTriageInternacion.paciente.idPaciente = " +
                idPaciente + " order by t.fechaTratamientoYPractica desc, "
                + "t.horaTratamientoYPractica desc"
                );

        Paginador.paginar(q);

        return getVectorObjetos(q);
    }

}
